package main

import "fmt"

func except() {
	recover()
}

func test() {
	defer except()
	panic("test panic")
}

func main() {

	defer func() {
		println("defer inner")
		recover()
	}()

	defer func() {
		if err := recover(); err != nil {
			fmt.Println(err)
		}
	}()

	defer func() {
		panic("first defer panic")
	}()

	defer func() {
		panic("second defer panic")
	}()

	panic("main body panic")
	//first defer panic
}
